From 5e1997f491163467ae78975cf954f8f63a5f4bf8 Mon Sep 17 00:00:00 2001 From: Ryan Lane Date: Sun, 26 Dec 2010 19:45:01 +0000 Subject: [PATCH] Adding maintenance script to purge stale flagged revs entries from memcached (for entries that have rev idsin the key). Should be made more generic. --- .../purgeStaleMemcachedFlaggedRevs.php | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 maintenance/purgeStaleMemcachedFlaggedRevs.php diff --git a/maintenance/purgeStaleMemcachedFlaggedRevs.php b/maintenance/purgeStaleMemcachedFlaggedRevs.php new file mode 100644 index 0000000000..679c1fb429 --- /dev/null +++ b/maintenance/purgeStaleMemcachedFlaggedRevs.php @@ -0,0 +1,39 @@ +selectField( 'text', 'max(old_id)' ); + $latestReplicatedTextId = $db->selectField( array( 'recentchanges', 'revision' ), 'rev_text_id', + array( 'rev_id = rc_this_oldid', "rc_timestamp < '20101225183000'"), 'purgeStaleMemcachedText', + array( 'ORDER BY' => 'rc_timestamp DESC' ) ); + $latestReplicatedTextId -= 100; # A bit of paranoia + + echo "Going to purge text entries from $latestReplicatedTextId to $maxTextId in $wgDBname\n"; + + for ( $i = $latestReplicatedTextId; $i < $maxTextId; $i++ ) { + $keys = array(); + $keys[] = wfMemcKey( 'flaggedrevs', 'countPending', $i ); + $keys[] = wfMemcKey( 'flaggedrevs', 'includesSynced', $i ); + $keys[] = wfMemcKey( 'flaggedrevs', 'overrideRedirect', $i ); + $keys[] = wfMemcKey( 'unreviewedPages', 'underReview', $i ); + + foreach ( $keys as $key ) { + while (1) { + if (! $wgMemc->delete( $key ) ) { + echo "Memcache delete for $key returned false\n"; + } + if ( $wgMemc->get( $key ) ) { + echo "There's still content in $key!\n"; + } else { + break; + } + } + } + } +} + +purgeStaleMemcachedText(); + -- 2.20.1